package com.example.word.service;

import com.example.word.dto.TempSelectDTO;
import com.example.word.dto.TemplateBackDTO;
import com.example.word.dto.TemplateDTO;
import com.example.word.pojo.Template;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.word.vo.ConditionVO;
import com.example.word.vo.PageResult;
import com.example.word.vo.TemplateVO;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.util.List;
import java.util.concurrent.ExecutionException;

/**
 *
 */
public interface TemplateService extends IService<Template> {



    boolean validateFile(String eName,String path);


    /**
     * 查看后台模板
     * @param condition 条件
     * @return
     */
    PageResult<TemplateBackDTO> listTemplateBacks(ConditionVO condition);

    /**
     * 教师上传模板存到数据库
     * @param
     * @param eName 模板别名
     * @param file 模板文档
     */
    void uploadTemplate(String eName, MultipartFile file) throws IOException;

    String compareByUpload(HttpServletRequest request, HttpSession session);

    String compareBySelect(HttpServletRequest request, Integer id) throws ExecutionException, InterruptedException;

    void saveOrUpdateTemplate(TemplateVO templateVO);

//    PageResult<TemplateDTO> listTemplates();


    PageResult<TemplateDTO> listTemplatesById(ConditionVO condition);

    PageResult<TempSelectDTO> listTemplateSelects(ConditionVO condition);
}
